
#ifndef _FACTORY_H
#define _FACTORY_H


#include <iostream>
using namespace std;

#include "objects.h"


//Factory Class
class Factory
{
public:
	//Load all folders for factory class
    virtual bool Load_List( const string& string );


	 //Get Factory Types
	// static list < T > Get_Type() { return Type; }

	 //Get Factory List
	 vector < string > Get_List() { return folder_list; }
	 


	
protected:

//Get list of type folders to load
	  bool Setup_List( vector< string > &, const string& string );
	  virtual bool Load_TypeIntoList( const string& ) = 0;

//List of factory catigories
	  std::vector < string > folder_list;
	  std::vector < string > item_list;


	 //static list < T > Type;
	
};


#endif